package DAO;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import javax.swing.JOptionPane;

import MODEL.Produtor;

public class ProdutorDAO {

	public static boolean cadastrarProdutor(Produtor produtor) throws SQLException
	{
		Connection conn = null;
		PreparedStatement stmt = null;
		Conexao com=new Conexao();
		boolean status=false;
		try
		{
			try {
				conn = com.getConnection();
			} catch (InstantiationException e) {
				
				e.printStackTrace();
			} catch (Throwable e) {
				
				e.printStackTrace();
			}
			
			stmt = conn.prepareStatement("INSERT INTO CADASTRODEPRODUTORES(nome_produtor,cpf,dap,nascimento_produtor,apelido_produtor,nome_propriedade,endereco_produtor,lugarejo,distrito,municipio,telefone_produtor,telefone_recado,conjugue,nome_associacao,data_da_associacao,observacoes_produtor) VALUE (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
			stmt.setString(1, produtor.getName_produtor());
			stmt.setString(2, produtor.getCpf());
			stmt.setString(3, produtor.getDap());
			stmt.setString(4, produtor.getNascimento_produtor());
			stmt.setString(5, produtor.getApelido_produtor());
			stmt.setString(6, produtor.getNome_propriedade());
			stmt.setString(7, produtor.getEndereco_produtor());
			stmt.setString(8, produtor.getLugarejo());
			stmt.setString(9, produtor.getDistrito());
			stmt.setString(10, produtor.getMunicipio());
			stmt.setString(11, produtor.getTelefone_produtor());
			stmt.setString(12, produtor.getTelefone_recado());
			stmt.setString(13, produtor.getConjugue());
			stmt.setString(14, produtor.getNome_associacao());
			stmt.setString(15, produtor.getData_associacao());
			stmt.setString(16, produtor.getObservacoes_produtor());
			stmt.execute();
			status=true;
			
		}	
		catch (SQLException e) 
		{
			e.printStackTrace();
		}
		finally
		{
			if(conn != null)
				conn.close();
			if(stmt != null)
				stmt.close();
		}
		 return status;
	}
	public List<Produtor> ListarProdutores(String letra) throws SQLException
	{
		Connection conn = null;
		PreparedStatement stmt = null;
		Conexao com=new Conexao();
		ResultSet rs=null;
		
		List<Produtor> ListProdutor=new ArrayList<Produtor>();
		int id;
		String nome=null;
		
		
		
		
			try {
				conn = com.getConnection();
			} catch (InstantiationException e) {
				
				e.printStackTrace();
			} catch (Throwable e) {
				
				e.printStackTrace();
			}
			
			try
			{
			stmt = conn.prepareStatement("SELECT * FROM cadastrodeprodutores where (nome_produtor like ? '%') order by nome_produtor");
			stmt.setString(1, letra);
			rs=stmt.executeQuery();
	
			while(rs.next()){
				id=rs.getInt("IdProdutor");
				nome=rs.getString("nome_produtor");
				String endereco=rs.getString("endereco_produtor");
				String distrito=rs.getString("distrito");
				String cidade=rs.getString("municipio");
				String telefone=rs.getString("telefone_produtor");
				String telefonerecado=rs.getString("telefone_recado");
				Produtor produtor=new Produtor();
				produtor.setId(id);
				produtor.setName_produtor(nome);
				produtor.setDistrito(distrito);
				produtor.setEndereco_produtor(endereco);
				produtor.setMunicipio(cidade);
				produtor.setTelefone_produtor(telefone);
				produtor.setTelefone_recado(telefonerecado);
				ListProdutor.add(produtor);
			
			
				}
			}
			catch (SQLException e) 
			{
			e.printStackTrace();
			}
			finally
			{
				if(conn != null)
					conn.close();
				if(stmt != null)
					stmt.close();
				if(rs != null)
					rs.close();
			}
		
		return ListProdutor;

}
	}
